package com.tmt.im.service.config.beans;

import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.io.Serial;
import java.io.Serializable;

/**
 * @Description TODO
 * @Author wuyi
 * @Date 2024/8/23 20:33
 * @Version 1.0
 **/
@Getter
@Setter
@ConfigurationProperties(prefix = "yun-xin.group-init")
public class GroupInitParam implements Serializable {

    @Serial
    private static final long serialVersionUID = -8498817663028834824L;

    /*默认入群的邀请信息*/
    private String inviteMsg;

    /*通过 SDK 侧操作申请入群的验证方式。
    0（默认）：无需验证，直接入群。
    1：需要群主或管理员验证通过才能入群。
    2：不允许任何人申请入群。*/
    private int joinMode;

    /*邀请入群时是否需要被邀请人的同意。
    0（默认）：需要被邀请人同意才能入群。
    1：不需要被邀请人同意，直接入群。*/
    private int agreeMode;

    /*邀请权限，即谁可以邀请他人入群。
    0（默认）：群主和管理员。
    1：所有人。*/
    private int inviteMode;

    /*客户端修改群组信息的权限，即谁可以修改群组信息。
    0（默认）：群主和管理员。
    1：所有人。*/
    private int updateTeamInfoMode;

    /*客户端修改群自定义扩展信息（server_extension&extension）权限，即谁可以修改群自定义扩展信息。
    0（默认）：群主和管理员。
    1：所有人。*/
    private int updateExtensionMode;

}
